/**!
 * cnpmjs.org - config/index.js
 *
 * Copyright(c) cnpmjs.org and other contributors.
 * MIT Licensed
 *
 * Authors:
 *  dead_horse <dead_horse@qq.com>
 *  fengmk2 <fengmk2@gmail.com> (http://fengmk2.github.com)
 */

'use strict';

/**
 * Module dependencies.
 */

var path = require('path');
var os = require('os');
var _ = require('underscore');

// 加载app配置文件
var appConfig = require('./appConfig');

var root = path.dirname(__dirname);

var allConfig = {

    appConfig: appConfig,

    //version: version,

    /**
     * Cluster mode
     */
    enableCluster: true,
    numCPUs: os.cpus().length,
    // email
    email: {
        from: 'developer@calfmobile.com',
        smtp: 'smtp.exmail.qq.com',
        username: 'developer@calfmobile.com',
        password: '*yanfa#1024',
        domain: 'calfmobile.com',
        to: 'feedback@calfmobile.com'//多个邮箱用逗号隔开
    },

    // 图片类型
    //imgType: {
    //    S: {dir:'shop',format:[3,2,2,3]},   // 店面详情图片
    //    W: {dir:'ware',format:[3,2,2,3]},   // 商品详情图片
    //    V: {dir:'vendor',format:[3,2,2,3]}, // 商家详情页图片
    //    P: {dir:'img',format:[3,2,2,3]},    // 帖子
    //    A: {dir:'avatar',format:[3,2,2,2]}, // 头像
    //    T: {dir:'tag',format:[3,2,2,2]}     // 标签
    //},

    // session secret
    sessionSecret: 'mahoo—DLJHEbkjadshfwqeriuh2398',
    // max request json body size
    jsonLimit: '10mb',

    // log dir name
    logdir: path.join(root, '.tmp', 'logs'),
    //enableCompress: false, // enable gzip response or not


    apiPre: '/api',
    manApiPre: '/manapi',
    o2oApiPre: '/o2oapi',

    // 社区相关配置
    sns: {
        // uid 2 为 麻花助手 官方发言人较色,1 系统管理员。关注列表中按倒序显示。
        manager_uid: [2]
    },

    appUpdate_url_1: 'http://www.yueniapp.com/download/yueniapp.apk', // Android 升级下载链接
    appUpdate_url_2: 'http://www.yueniapp.com/download/yueniapp.ipa', // IOS 升级下载链接

    SMS: {
        sms_url: 'http://sdk2.entinfo.cn:8060/webservice.asmx/mdSmsSend_u',
        sms_sn: 'SDK-TOM-010-00093',
        sms_pwd: 'CCA304B14316566D6E17BC5439469FC6',
        sms_footer: '【微店科技】',
        sms_rrid: '78123987',
        sms_interval: 120//同一ip每次发短信间隔,单位秒
    },

    login: {
        login_attemptLimit: 5,  // 可尝试次数
        login_attemptCountPrefix: 'login:attemptCount_',  // Redis 已尝试次数key前缀
        login_lockPrefix: 'login:lock_',  // Redis 是否被锁key前缀
        login_lockInterval: 300  // 锁定时间，5分钟
    },

    session: {
        key: 'mh.sid',
        prefix: 'mh:sess:',
        ttl: 120 * 60, // session 过期时间 120分钟，单位秒（登录会话）
        site_ttl: 5 * 60//统计网站信息会话
    },

    cookie: {
        domain: 'mahoo.cn',//
        maxage: null
    },

    umeng: { //友盟统计、推送
        android_appkey: '54869e32fd98c513550001c9',
        android_app_master_secret: '6twumefgu5y6iqesyhzewg5weo5bddsc',
        ios_appkey: '54bf3e1efd98c5e697000a62',
        ios_app_master_secret: 'xcjbilbqi7jl9rwkbs4kkev5pexanccg'
    },

    user: {
        tokenKeyExp: 30,//手机端tokenKey过期时间(单位天)
        regExp: 600//注册过期时间（单位秒）
    },

    appendParm: { //作弊参数值
        pinCount: 0 //圈子订阅数
    },
    verificationTimeOut: 600,//短信验证码过期时间(单位秒)
    pageSize: 50,
    manager_pageSize: 1000,  //后台管理每页数据条数
    vestDefaultPwd: '12maHoo',     //马甲默认密码
    disturb: {
        beginTime: 8,
        endTime: 23
    },

    // 设定插播规则
    spotsRules: {
        threads: {interval: 10},
        tags: {interval: 20},
        users: {interval: 5}
    },

    // 主题相关
    threadlist: {
        pageSize: 50,
        likeLen: 15,//帖子缓存点赞用户只保存10个
        defaultThreadCategory: 9999
    },

    // 回帖相关
    post: {
        pageSize: 50,
        postNum: 3,//回帖最多@的人数
        hotPost:5 //获得至少点赞的热门回帖
    },
    redisPre: {
        thread_info: 'thread:%d:info',//帖子基本信息  $d帖子id
        user_info: 'user:%d:info',//用户基本信息 %d用户id
        tag_info: 'tags:%d:info:%d',//标签基本信息 type=1 标准标签 第一个%d标签id 第二个%d类型id
        user_list: "user:%d:list:%d",//用户列表资料type=1 订阅的标签列表: tagid type=2 关注的好友列表: uid type=3 收藏的帖子列表: tid type=4 点赞的帖子列表: tid 5 点赞的回帖列表
        thread_list: 'thread:%d:list:%d',//帖子列表资料 type=1 最近10个点赞的用户列表: uid
        tag_list: 'tags:%d:list:%d',//帖子列表资料 type=1 最近10个点赞的用户列表: uid
        lists_news: 'lists:news:%d',//最新帖子
        lists_user: 'lists:user:%d',//用户发
        env_tagsgroup: 'env:tags_group', //发现页面板块标签及二级标签数组 有序
        env_brond_tagid: 'env:brond_tagid', //发现页面板块标签菜单 有序
        env_categorysgroup: 'env:categorys_group',//发现页分类数组
        thread_ttl: 3600,//单位秒
        user_ttl: 3600,//单位秒
        tag_ttl: 3600,//单位秒
        user_list_ttl: 3600,
        thread_list_ttl: 3600,
        tag_list_ttl: 3600,
        lists_news_ttl: 3600,
        lists_user_ttl: 3600,
        lists_init_count: 10000,//最新帖子，好友帖子缓存初始数量
        lists_del_count: 11000,//最新帖子，好友帖子缓存到达这个数出发删除到lists_init_count
        thread_user: 'prethread:%d',//发帖成功后的临时值
        thread_user_ttl: 600,
        lists_digest: 'list:digest', //精华列表
        lists_digest_ttl: 300, //精华列表 300秒
        lists_digest_count: 10000,//精华列表
        slider_list: 'slider:%d:list',
        check_post: 'config:check_post',
        thread_similar: 'thread:%d:similar',//帖子相似信息  $d帖子id
        thread_similar_ttl: 3600
    },
    oauth: {
        app_id_qq: 1103823847,
        app_id_qq_chinaskin: 1104663753
    },
    stid_arr: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14],
    slider_type: [
        //专题模版
        {stid: 14, typeid: 1, sttitle: '推荐页轮播', stdesc: '新的发现页面轮播,安卓高度:306', height: 306},
        {stid: 13, typeid: 7, sttitle: '新专题', stdesc: '专题管理', info: {title: '专题', more: 0, cmd: '{"act":15}'}},
        {stid: 12, typeid: 7, sttitle: '旧专题', stdesc: '专题管理', info: {title: '专题', more: 0, cmd: '{"act":15}'}},
        //发现页板块
        //{stid:11,typeid:5,sttitle:'发现页-美食',stdesc:'发现页面标签管理',info:{title:'美食',more:0,cmd:'{"act":6}'}},
        //{stid: 10, typeid: 5, sttitle: '发现页-生活', stdesc: '发现页面标签管理', info: {title: '生活', more: 0, cmd: '{"act":6}'}},
        //{stid: 9, typeid: 5, sttitle: '发现页-娱乐', stdesc: '发现页面标签管理', info: {title: '娱乐', more: 0, cmd: '{"act":6}'}},
        //{stid: 8, typeid: 5, sttitle: '发现页-美妆', stdesc: '发现页面标签管理', info: {title: '美妆', more: 0, cmd: '{"act":6}'}},
        //{stid: 5, typeid: 5, sttitle: '发现页-情感', stdesc: '发现页面标签管理', info: {title: '情感', more: 1, cmd: '{"act":6}'}},
        {stid: 8, typeid: 5, sttitle: '发现页-爱 · 生 · 活', stdesc: '发现页面标签管理', info: {title: '爱 · 生 · 活', more: 1, cmd: '{"act":6}'}},
        {stid: 5, typeid: 5, sttitle: '发现页-真 · 女 · 神', stdesc: '发现页面标签管理', info: {title: '真 · 女 · 神', more: 1, cmd: '{"act":6}'}},
        /* //发现页类别
         {stid:14,typeid:9,sttitle:'发现页-情感',stdesc:'发现页面类别管理',info:{title:'情感',more:0,cmd:'{"act":9}'}},
         {stid:15,typeid:9,sttitle:'发现页-生活',stdesc:'发现页面类别管理',info:{title:'生活',more:0,cmd:'{"act":9}'}},
         {stid:16,typeid:9,sttitle:'发现页-娱乐',stdesc:'发现页面类别管理',info:{title:'娱乐',more:0,cmd:'{"act":9}'}},
         {stid:17,typeid:9,sttitle:'发现页-扮靓',stdesc:'发现页面类别管理',info:{title:'扮靓',more:0,cmd:'{"act":9}'}},
         */
        {stid: 7, typeid: 1, sttitle: '新发现轮播图', stdesc: '新的发现页面轮播,安卓高度:306', height: 306},
        {stid: 6, typeid: 6, sttitle: '置顶帖', stdesc: '置顶帖'},
        {stid: 4, typeid: 4, sttitle: '通知', stdesc: '内容包括帖子和h5'},
        {stid: 3, typeid: 3, sttitle: '贴纸管理', stdesc: '贴纸及排序管理'},
        {stid: 2, typeid: 2, sttitle: '首页菜单', stdesc: '首页菜单上传图片必须为75*75'},
        {stid: 1, typeid: 1, sttitle: '发现页轮播图', stdesc: '发现页轮播上传图片大小没限制'}
    ],
    // 发现页标签板块
    slider_faxian_tags: [5, 8],
    //slider_faxian_categorys:[14,15,16,17],

    // 运营板块标签
    slider_brond_tags: [5, 8],

    //操作类型 1注册 2签到 3发帖 4自己删帖 5被管理员删帖 6帖子被设为精华 7关注好友 8取消关注好友 9订阅标签
    //       10取消订阅标签 11收藏帖子 12取消收藏帖子 13点赞 14取消点赞 15回复 16删除自己的回复
    level_action: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], // 各操作对应的等级积分
    level_action_text: ['',// 0 为兼容保留
        '注册',//1
        '每日签到',//2
        '发表新帖',//3
        '删帖',//4
        '管理员删帖',//5
        '帖子被设为精华',//6
        '关注好友',//7
        '取消关注好友',//8
        '订阅标签',//9
        '取消订阅标签',//10
        '收藏帖子',//11
        '取消收藏帖子',//12
        '点赞',//13
        '取消点赞',//14
        '回复',//15
        '删回复', //16
        '管理员删回复', //17
        '将产品推荐给好友',//18
        '将帖子分享给好友',//19
        '将标签分享给好友'//20
    ],
    level_action_unit: ['',// 0 为兼容保留
        '条',//1
        '未签到/已签到',//2
        '条',//3
        '条',//4
        '条',//5
        '条',//6
        '个',//7
        '个',//8
        '个',//9
        '个',//10
        '条',//11
        '条',//12
        '条',//13
        '条',//14
        '条',//15
        '条', //16
        '条', //17
        '次', //18
        '条', //19
        '个' //20
    ],
    level_list: [2, 3, 6, 7, 9, 11, 13, 15],//固定显示项目
    level_list_add: [1, 4, 5, 8, 10, 12, 14, 16, 17, 18, 19, 20]//条件显示项目
};


// 通过NODE_ENV来设置环境变量，如果没有指定则默认为生产环境
var env = process.env.NODE_ENV || 'development';
env = env.toLowerCase();

// C.env 为运行环境
allConfig.env = env;

// 载入配置文件
var file = path.resolve(__dirname, env + '.js');
try {
    var envConfig = require(file);
    var config = _.extend(allConfig, envConfig);


    console.log('Load config: [%s] %s', env, file);
} catch (err) {
    console.error('Cannot load config: [%s] %s', env, file);
    throw err;
}


module.exports = config;
